#define _CRT_SECURE_NO_WARNINGS 1
#include <string.h>


//long solve(char* s)
//{
//	long ret = 0;
//	while (*s)
//	{
//		int tmp = *s - 'a';
//		ret += tmp * 2;
//		++s;
//	}
//	return ret;
//}
//int main()
//{
//	char words1[][10] = { "leetcode","is","amazing","as","is" };
//	int words1Size = sizeof(words1) / sizeof(words1[0]);
//	char words2[][10] = { "amazing","leetcode","is" };
//	int words2Size = sizeof(words2) / sizeof(words2[0]);
//	
//	int arr[8] = { 0 };
//	int index = 0;
//	for (int i = 0; i < words1Size; ++i)
//	{
//		arr[index++] = solve(words1[i]);
//	}
//	for (int i = 0; i < words2Size; ++i)
//	{
//		arr[index++] = solve(words2[i]);
//	}
//	int ans = 0;
//	for (int i = 0; i < index; ++i)
//	{
//		if (arr[i] == 0)
//		{
//			continue;
//		}
//		int f = 1;
//		for (int j = i + 1; j < index; ++j)
//		{
//			if (arr[i] == arr[j])
//			{
//				++f;
//				arr[j] = 0;
//			}
//		}
//		if (f == 2)
//		{
//			++ans;
//		}
//	}
//	return 0;
//}


#include <stdlib.h>
//int main()
//{
//	int arr[] = { 40,10,20,30 };
//	int arrSize = sizeof(arr) / sizeof(arr[0]);
//	
//	return 0;
//}

//int cmp(int* e1, int* e2)
//{
//    return *e1 - *e2;
//}
//
//int main()
//{
	/*int bills[] = { 5,5,10,10,20 };
	int billsSize = sizeof(bills) / sizeof(bills[0]);*/
//    int fw = 0;
//    int ten = 0;
//    qsort(bills, billsSize, 4, cmp);
//    int (*(*pf)[10])(int*);
//    for (int i = 0; i < billsSize; ++i)
//    {
//        if (bills[i] == 5)
//        {
//            ++fw;
//        }
//        else if (bills[i] == 10)
//        {
//            ++ten;
//            --fw;
//            if (fw < 0)
//            {
//                return 0;
//            }
//        }
//        else
//        {
//            if (ten > 0)
//            {
//                --ten;
//            }
//            else
//            {
//                ++ten;
//                fw -= 2;
//            }
//            if (fw < 0)
//            {
//                return 0;
//            }
//        }
//    }
//	return 0;
//}



		   
//int main()
//{
//	int temperatures[] = { 73,74,75,71,69,72,76,73 };
//	int temperaturesSize = sizeof(temperatures) / sizeof(temperatures[0]);
//	int has[101] = { 0 };
//	has[temperatures[0]] = temperatures[0];
//	int index = 0;
//	for (int i = 1; i < temperaturesSize - 1; ++i)
//	{
//		has[temperatures[i]] = temperatures[i];
//		for (int j = temperatures[i - 1]; j < 101; ++j)
//		{
//			if (has[j] < temperatures[i])
//			{
//				temperatures[index++] = temperatures[i] - j;
//				break;
//			}
//		}
//	}
//}



//int cmp(int* e1, int* e2)
//{
//    return *e1 - *e2;
//}
//int main()
//{
//	int nums[] = { 36,45,32,31,15,41,9,46,36,6,15,16,33,26,27,31,44,34 };
//	int numsSize = sizeof(nums) / sizeof(nums[0]);
//    int odd[50] = { 0 };
//    int even[50] = { 0 };
//    int evi = 0;
//    int odi = 0;
//    for (int i = 0; i < numsSize; ++i)
//    {
//        if (nums[i] % 2 == 0)
//        {
//            even[evi++] = nums[i];
//        }
//        else
//        {
//            odd[odi++] = nums[i];
//        }
//    }
//    qsort(nums, numsSize, 4, cmp);
//    qsort(odd, odi, 4, cmp);
//    qsort(even, evi, 4, cmp);
//    evi = 0;
//    for (int i = 0; i < numsSize; ++i)
//    {
//        switch (i % 2)
//        {
//        case 0:
//            nums[i] = even[evi++];
//            break;
//        case 1:
//            nums[i] = odd[odi--];
//            break;
//        }
//    }
//}


int sum1(int (*pf)[3])
{
    int ret = 0;
    for (int i = 0; i < 3; ++i)
    {
        ret += (*pf)[i];
    }
    return ret;
}
int sum(int x)
{
	int ret = 0;
	for (int i = 1; i <= x; ++i)
	{
		ret += i;
	}
	return ret;
}
int main()
{
	int matrix[][3] = { 1,2,3,3,1,2,2,3,1 };
	int matrixSize = sizeof(matrix) / sizeof(matrix[0]);
	int matrixColSize = sizeof(matrix[0]) / sizeof(matrix[0][0]);
    int cmp = sum(matrix);
    for (int i = 0; i < matrixSize; ++i)
    {
        int sum = 0;
        int sum2 = (matrix[i]);
        for (int j = 0; j < matrixColSize; ++j)
        {
            sum += matrix[i][j];
        }
        if (sum != cmp)
        {
            return 0;
        }
    }
    for (int i = 0; i < matrixColSize; ++i)
    {
        int sum = 0;
        for (int j = 0; j < matrixSize; ++j)
        {
            sum += matrix[j][i];
        }
        if (sum != cmp)
        {
            return 0;
        }
    }
	return 1;
}